A programmable device such as a programmable logic device (PLD) may be configured to perform a variety of functions. The function of a PLD for a particular application is determined by the configuration data loaded into the PLD. A PLD component may support multiple communication protocols to load configuration data from a configuration file. Each communication protocol may require a configuration file with a format specific to the communication protocol, or require that the configuration file contain parameters, such as configuration clock rate, that are specific to the communication protocol and the type of PLD component.
Different communication protocols for configuring a PLD may be used at different times in the life cycle of a design. For example, one protocol may be desirable during testing of the design on the PLD, another protocol may be desirable during system initialization when the PLD is part of a complete system, and yet another protocol may be desirable for use by field engineers.
Switching the communication protocol used to configure a PLD in an application may require generation of the configuration file appropriate for the communication protocol and type of PLD component. The system and tools needed to generate the configuration file may not be readily available, thus making complete generation of the configuration file inconvenient.
The flexibility of PLD components has led to their widespread adoption by the electronics industry. Elimination of any inconvenience in using PLD components increases the flexibility of PLD components, and thus the usefulness of PLD components to the electronics industry.
The present invention may address one or more of the above issues.